package com.halden.mycache.support.EvictStrategy;

import com.halden.mycache.core.Impl.CacheValue;
import com.halden.mycache.core.Impl.MyCache;

/**
 * 缓存上下文核心实现接口
 * @since 0.0.1
 */
public interface ICacheEvictContext<K,V> {
    /**
     * 获取当前添加的key
     * @return K
     * @since 0.0.1
     */
    K getKey();

    /**
     * 获取缓存对象
     * @return IMyCache
     * @since 0.0.1
     */
    MyCache<K,V> getCache();

    /**
     * 获取值
     * @return V
     * @since 0.0.1
     */
    CacheValue<V> getValue();
}
